'''
@author：lainsola
@task：来实现一个自动取款机的存取款模拟效果。
要求有登陆和退出、查询余额、取钱，存钱等操作。
@param：
'''
username_list=[
    {'name':'sola','money':1000,'password':'123456'},
    {'name':'lisi','money':28,'password':'Python02'},
    {'name':'wangwu','money':31,'password':'Python03'}
]
#1.登录用户界面
def login():
    global flag
    global  money
    print("您的名字是"+username)
    print("您的密码是"+password)
    print('-' * 40)
    for i in username_list:
        if(username==i['name']):
            if (password == i['password']):
                print(i['name'],'用户欢迎您使用银行取款机')
                money=i['money']
                flag=True

# 2.查看用户信息
def showmoney():
    print('|{0:<12}|{1:<8}|'.format('name', 'money'))
    print('-' * 33)
    print('|{0:<12}|{1:<8}|'.format(username, money))

#3.存钱
def savemoney():
    global money
    showmoney()
    print('存入多少钱？')
    addmoney=int(input())
    money=money+addmoney
    showmoney()

#4.取钱
def givemoney():
    global money
    showmoney()
    print('取出多少钱？')
    getmoney=int(input())
    if(money>0):
        money=money-getmoney
    else:
        money=money
        print('取钱无效，按任意键返回系统')
    givemoney()
#6.退出
def loginout():
    pass
#7.新增用户
def newlogin(username,password,money):
    stu_dict = {}
    stu_dict['name'] = username
    stu_dict['password'] = password
    stu_dict['money'] = money
    username_list.append(stu_dict)

'''
页面交互开始
'''
def show():
    global flag
    if again:
        login()
    if flag==False :
        print('您的密码账户输入错误')
    while flag:
        print('='*12,'银行存取钱系统','='*12)
        print('{:1} {:13} {:15}'.format(' ','1. 查看余额','2.取钱 '))
        print('{:1} {:17} {:15}'.format(' ', '3. 存钱', '4. 退出系统'))
        print('='*40)
        key = input('请输入对应的选择')
        # 根据输入操作值，执行对应操作
        if key == '1':
            print('='*12,'查看余额','='*12)
            showmoney()
            input('按回车继续：')
        elif key == '2':
            print('='*12,'取钱','='*12)
            givemoney()
            input('按回车继续：')
        elif key == '3':
            print('='*12,'存钱','='*12)
            savemoney()
            input('按回车继续：')
        elif key=='4':
            loginout()
        else:
            print('error')

global again
print('='*12,'银行存取钱系统','='*12)
print('本银行用户信息如下')
print('|{0:<5}|{1:<10}|'.format('sid','name'))
for i,list in enumerate(username_list):
        print('|{0:<5}|{1:<10}|'.format(i+1,list['name']))
print('是否新建用户')
print('{:1} {:13} {:15}'.format(' ','1. 是的','其他：不用 '))
iflogin=input()




if iflogin=='1':
    flag = False
    print('请输入您的用户名')
    username = input()
    print('请输入您的密码')
    password=int(input())
    print('请存入多少钱')
    money=int(input())
    newlogin(username,password,money)
    print('请输入您的用户名')
    againname = input()
    print('请输入您的密码')
    againpassword = int(input())
    if(againname==username):
        if(againpassword==password):
            flag = True
            again = False
            show()
            print('-' * 40)
    else:
        print('您的密码账户输入错误')


else:
    print('请输入您的用户名')
    username=input()
    print('请输入您的密码')
    password=input()
    flag=False
    again = True
    show()